package com.example.swagger.controller;

import com.example.swagger.entity.User;
import com.example.swagger.util.RedisUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;

@Controller
@RequestMapping(value = "/redis")
public class RedisController {
    @Resource
    private RedisTemplate<String, Object> redisTemplate;
//    @Autowired
//    private RedisUtil redisUtil;

    /**
     * 获取对应键的值，redisTemplate操作
     * @param key
     * @return
     */
    @RequestMapping("/get")
    @ResponseBody
    public Object getValue(String key){
        Object value = redisTemplate.opsForValue().get(key);
        return value;
    }

    /**
     * 添加键值
     * @param key
     * @param value
     * @return
     */
//    @RequestMapping(value = "set")
//    public boolean set(String key, String value){
//        return redisUtil.set(key, value);
//    }

    /**
     * 添加List对象数据到redis中
     * @return
     */
//    @RequestMapping(value = "/setList")
//    public boolean setList(){
//        List<Object> stuList = new ArrayList<>();
//        User stu = new User();
//        stu.setId(1);
//        stu.setAge(18);
//        stu.setUsername("软件部");
//        stu.setAddress("张三法人股地方给");
//
//        User stu1 = new User();
//        stu1.setId(2);
//        stu1.setAge(18);
//        stu1.setUsername("软件部fe  ef");
//        stu1.setAddress("王五浮点数的官方");
//
//        User stu2 = new User();
//        stu2.setId(3);
//        stu2.setAge(18);
//        stu2.setUsername("财务部");
//        stu2.setAddress("李四");
//
//        stuList.add(stu);
//        stuList.add(stu1);
//        stuList.add(stu2);
//        return redisUtil.lSetList("stu", stuList);
//    }

    /**
     * 获取全部数据
     * @return
     */
//    @RequestMapping(value = "getList")
//    public Object getList(){
//        return redisUtil.lGet("stu", 0, -1);
//    }
}
